Adaptive Bitrate Streaming is a technique used in streaming multimedia over computer networks. While in the past most video streaming technologies used either file download, progressive download, or custom streaming protocols, most of today's adaptive streaming technologies are based on utilizing hypertext transfer protocol (HTTP) requests and methods to download content. HTTP requests and methods are designed to work efficiently over large distributed HTTP networks such as may be found on the Internet.
HTTP-based Adaptive Streaming (HAS) operates by tracking a user's bandwidth and CPU capacity, and then selecting an appropriate representation (e.g., bandwidth and resolution) to stream among the available bitrates and resolutions. Typically, HAS leverages the use of an encoder that can encode a single source video at multiple bitrates and resolutions, wherein said encoding can be representative of either constant bitrate encoding (CBR) or variable bitrate encoding (VBR). A player client can switch among the different encodings or representation depending on available resources. Ideally, the result of utilizing HAS is that there is little buffering, fast start times, and good video quality experiences for both high-bandwidth and low-bandwidth connections.